In certain existing systems used for encrypting data such as in particular the voice, a communication device formed by a security module and a host is used. The data stream to be encrypted is received by the host, then sent to the security module. The latter encrypts the data and sends it back to the host when the encryption is terminated. The host can then transmit this data to another communication device.
The transfer from the host towards the security module, the encryption in this module and the return from the module towards the host need a relatively long duration, which introduces an important latency period. Moreover, with a security module with weak encryption capacities, as this is for example the case with conventional smart cards, there may be a flow problem if the encryption cannot be done as rapidly as the flow of the voice or data to be transmitted.
For solving this problem, an encryption method has been developed. According to this method, two devices which have to exchange encrypted data generate a common session key. This session key, generally generated in the security module, is transmitted to an extension module of the corresponding host. This extension module comprises an extension function which generates a plurality of keys from an initial key. The keys thus generated are used for encrypting the data by a conventional stream encryption. This method is known as “Secure Real-time Transport Protocol” or SRTP.
Although this method works for encrypting data such as the voice, which requires the generation of a large number of keys during short time intervals, the knowledge of the session key might compromise the security of the system. Indeed, as the host is not an element placed in a secure environment, it is not excluded that the extension function may be found and used for decrypting content illegally.
This invention proposes to realize a device, a system and a method allowing improving security, while having a small latency period.